using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using database;
using objetos;
using publico;

namespace dados
{
	#region TB_USUARIO
	/// <summary>
	/// This object represents the properties and methods of a TB_USUARIO.
	/// </summary>
	public class DAL_TB_USUARIO
	{		
	
		/// <summary>
		/// Incluir via aplicacao
		/// </summary>	
		public int Incluir(OBJ_TB_USUARIO obj)
		{
			try
			{
				DAO_DATABASE db = new DAO_DATABASE();
				DataSet ds = new DataSet();
				List<string> lista = new List<string>();		
	
				db.CreateParameter("@login", SqlDbType.VarChar, obj.login);				
				lista.Add("@login");				
				db.CreateParameter("@senha", SqlDbType.VarChar, obj.senha);				
				lista.Add("@senha");				
				db.CreateParameter("@email", SqlDbType.VarChar, obj.email);				
				lista.Add("@email");
                db.CreateParameter("@id_perfil", SqlDbType.Int, obj.id_perfil);
                lista.Add("@id_perfil");
                db.CreateParameter("@sit_troca_senha", SqlDbType.Bit, obj.sit_troca_senha);
                lista.Add("@sit_troca_senha");	
                db.CreateParameter("@sit_ativo", SqlDbType.Bit, obj.sit_ativo);
                lista.Add("@sit_ativo");	
				db.CreateParameter("@dt_expira_senha", SqlDbType.DateTime, obj.dt_expira_senha);				
				lista.Add("@dt_expira_senha");				
				db.CreateParameter("@dt_cadastro", SqlDbType.DateTime, obj.dt_cadastro);				
				lista.Add("@dt_cadastro");				
				db.CreateParameter("@dt_atualizacao", SqlDbType.DateTime, obj.dt_atualizacao);				
				lista.Add("@dt_atualizacao");				
	
				string query = String.Format("Insert Into tb_usuario ({0}) Values ({1}); SELECT SCOPE_IDENTITY()",  string.Join(",",lista.ToArray()).ToString().Replace("@", ""), string.Join(",",lista.ToArray()).ToString());
				ds = db.ExecuteQuery(query);
				
				return Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());
			}
			catch (Exception)
       		{
            	throw;
        	}
		}
		
		/// <summary>
		/// Update via aplicacao
		/// </summary>			
		public void Alterar(OBJ_TB_USUARIO obj)
		{
			try
			{
				DAO_DATABASE db = new DAO_DATABASE();
				List<string> lista = new List<string>();
	
				db.CreateParameter("@id", SqlDbType.Int, obj.id);
				
	
				db.CreateParameter("@login", SqlDbType.VarChar, obj.login);
				lista.Add("login = @login");

                if (obj.senha != null)
                {
                    db.CreateParameter("@senha", SqlDbType.VarChar, obj.senha);
                    lista.Add("senha = @senha");
                }				
				db.CreateParameter("@email", SqlDbType.VarChar, obj.email);
				lista.Add("email = @email");
                db.CreateParameter("@id_perfil", SqlDbType.Int, obj.id_perfil);
                lista.Add("@id_perfil");
                db.CreateParameter("@sit_troca_senha", SqlDbType.Bit, obj.sit_troca_senha);
                lista.Add("@sit_troca_senha");	
                db.CreateParameter("@sit_ativo", SqlDbType.Bit, obj.sit_ativo);
                lista.Add("@sit_ativo");	
				db.CreateParameter("@dt_expira_senha", SqlDbType.DateTime, obj.dt_expira_senha);
				lista.Add("dt_expira_senha = @dt_expira_senha");
				db.CreateParameter("@dt_cadastro", SqlDbType.DateTime, obj.dt_cadastro);
				lista.Add("dt_cadastro = @dt_cadastro");
				db.CreateParameter("@dt_atualizacao", SqlDbType.DateTime, obj.dt_atualizacao);
				lista.Add("dt_atualizacao = @dt_atualizacao");
	
				string query = String.Format("Update TB_USUARIO Set {0} Where id = @id", string.Join(",",lista.ToArray()).ToString());
				db.ExecuteQuery(query);
			}
			catch (Exception)
       		{
            	throw;
        	}
		}	
		
		/// <summary>
		/// Delete viaaplicacao
		/// </summary>	
		public void Excluir(OBJ_TB_USUARIO obj)
		{
			try
			{
				DAO_DATABASE db = new DAO_DATABASE();
				StringBuilder queryParameters = new StringBuilder();
				db.CreateParameter("@id", SqlDbType.Int, obj.id);
		
				string query = "Delete tb_usuario Where id = @id";			
				db.ExecuteQuery(query);
			}
			catch (Exception)
       		{
            	throw;
        	}
		}
	
	
		/// <summary>
		/// Lista objeto
		/// </summary>						
		public List<OBJ_TB_USUARIO> SelecionarLista()
    	{
        	try
        	{
				DAO_DATABASE db = new DAO_DATABASE();
				List<OBJ_TB_USUARIO> lista = new List<OBJ_TB_USUARIO>();
				OBJ_TB_USUARIO obj = null;
				DataTable dt = new DataTable();
				DataSet ds = new DataSet();
				StringBuilder sb = new StringBuilder();
                sb.Append("SELECT tb_usuario.id, tb_usuario.login, tb_usuario.senha, tb_usuario.id_perfil, tb_usuario.email, tb_usuario.sit_troca_senha, tb_usuario.sit_ativo, ");
                sb.Append(" tb_usuario.dt_expira_senha, tb_usuario.dt_cadastro, tb_usuario.dt_atualizacao, tb_usuario_perfil.desc_usuario_perfil ");
                sb.Append(" FROM tb_usuario INNER JOIN ");
                sb.Append(" tb_usuario_perfil ON tb_usuario.id_perfil = tb_usuario_perfil.id");
        
	            ds = db.ExecuteQuery(sb.ToString());
				
				if(!db.DataSetIsEmpty(ds))
				{
					dt = ds.Tables[0];
					
					foreach (DataRow dr in dt.Rows)
					{											
						obj = new OBJ_TB_USUARIO();
						Set(obj,dr);
						lista.Add(obj);
		
					}
				}
				return lista;
        	}
        	catch (Exception)
       		{
            	throw;
        	}

    	}
		
		/// <summary>
		/// Set Objeto
		/// </summary>	
		private void Set(OBJ_TB_USUARIO obj,DataRow dr)
		{
			obj.id = Convert.ToInt32(dr["id"]);						
			obj.login = dr["login"] == DBNull.Value ?  string.Empty : dr["login"].ToString() ;
			obj.senha = dr["senha"] == DBNull.Value ?  string.Empty : dr["senha"].ToString() ;
			obj.email = dr["email"] == DBNull.Value ?  string.Empty : dr["email"].ToString() ;
            obj.id_perfil = Convert.ToInt32(dr["id_perfil"].ToString());
            obj.sit_troca_senha = Convert.ToBoolean(dr["sit_troca_senha"].ToString());
            obj.sit_ativo = Convert.ToBoolean(dr["sit_ativo"].ToString());
			obj.dt_expira_senha = dr["dt_expira_senha"] == DBNull.Value ?  (DateTime?)null :  Convert.ToDateTime(dr["dt_expira_senha"].ToString()) ;						
			obj.dt_cadastro = dr["dt_cadastro"] == DBNull.Value ?  (DateTime?)null :  Convert.ToDateTime(dr["dt_cadastro"].ToString()) ;						
			obj.dt_atualizacao = dr["dt_atualizacao"] == DBNull.Value ?  (DateTime?)null :  Convert.ToDateTime(dr["dt_atualizacao"].ToString()) ;
            obj.Tb_usuario_perfil.desc_usuario_perfil = dr["desc_usuario_perfil"].ToString();

		}						
				
		/// <summary>
		/// Selecionar Objeto Por ID
		/// </summary>	
		public OBJ_TB_USUARIO SelecionarObjetoPorId(int id)
		{
			try
			{
				DAO_DATABASE db = new DAO_DATABASE();
				OBJ_TB_USUARIO obj = new OBJ_TB_USUARIO();
				DataSet ds = new DataSet();				
				DataTable dt = new DataTable();
				db.CreateParameter("@id", SqlDbType.Int, id);
                StringBuilder sb = new StringBuilder();
                sb.Append("SELECT tb_usuario.id, tb_usuario.login, tb_usuario.senha, tb_usuario.id_perfil, tb_usuario.email, tb_usuario.sit_troca_senha, tb_usuario.sit_ativo, ");
                sb.Append(" tb_usuario.dt_expira_senha, tb_usuario.dt_cadastro, tb_usuario.dt_atualizacao, tb_usuario_perfil.desc_usuario_perfil ");
                sb.Append(" FROM tb_usuario INNER JOIN ");
                sb.Append(" tb_usuario_perfil ON tb_usuario.id_perfil = tb_usuario_perfil.id");
                sb.Append(" Where tb_usuario.id = @id");
				ds = db.ExecuteQuery(sb.ToString());				
				
				if(!db.DataSetIsEmpty(ds))
				{
					dt = ds.Tables[0];
					
					foreach (DataRow dr in dt.Rows)
                	{
						obj = new OBJ_TB_USUARIO();
						Set(obj,dr);																			
					}
					return obj;
					
				}
				else
				{
					return null;	
				}			
			}
			catch (Exception)
       		{
            	throw;
        	}
			
		}
					
		
		
		/// <summary>
		/// Lista objeto Parametro Where OrderBy
		/// </summary>							
		public List<OBJ_TB_USUARIO> SelecionarLista(String Where, String OrderBy)
    	{
        	try
        	{
				DAO_DATABASE db = new DAO_DATABASE();
				OBJ_TB_USUARIO obj = null;
				DataSet ds = new DataSet();
				DataTable dt = new DataTable();
				List<OBJ_TB_USUARIO> lista = new List<OBJ_TB_USUARIO>();
				
				StringBuilder sb = new StringBuilder();
				db.CreateParameter("@Where",SqlDbType.VarChar, Where );
				db.CreateParameter("@OrderBy", SqlDbType.VarChar, OrderBy );

                sb.Append("SELECT tb_usuario.id, tb_usuario.login, tb_usuario.senha, tb_usuario.id_perfil, tb_usuario.email, tb_usuario.sit_troca_senha, tb_usuario.sit_ativo, ");
                sb.Append(" tb_usuario.dt_expira_senha, tb_usuario.dt_cadastro, tb_usuario.dt_atualizacao, tb_usuario_perfil.desc_usuario_perfil ");
                sb.Append(" FROM tb_usuario INNER JOIN ");
                sb.Append(" tb_usuario_perfil ON tb_usuario.id_perfil = tb_usuario_perfil.id");
				if(Where != string.Empty)				
				sb.Append(string.Format(" Where {0} ",Where));
				if(OrderBy != string.Empty)
				sb.Append(string.Format(" Order by {0}",OrderBy));
				
				ds = db.ExecuteQuery(sb.ToString());
				
				if(!db.DataSetIsEmpty(ds))
				{
					dt = ds.Tables[0];
					foreach (DataRow dr in dt.Rows)
					{						
						obj = new OBJ_TB_USUARIO();
						Set(obj,dr);			
						lista.Add(obj);
					}
				}
				return lista;
        	}
        	catch (Exception)
       		{
            	throw;
        	}

    	}

		
		public DataSet Selecionar(String Where, String OrderBy, int PageIndex, int PageSize )
		{
				DAO_DATABASE db = new DAO_DATABASE();
				DataSet ds = new DataSet();
				
				StringBuilder sb = new StringBuilder();

                PageIndex = PageSize * PageIndex;
                PageSize = PageIndex + PageSize;
				
		      if (OrderBy == string.Empty) OrderBy = "tb_usuario.id";

            	sb.Append("SELECT * FROM ");
            	sb.Append(string.Format(" (SELECT ROW_NUMBER() OVER (ORDER BY {0}) AS RowNumber,",OrderBy));
                sb.Append("   tb_usuario.id, tb_usuario.login, tb_usuario.senha, tb_usuario.email, tb_usuario.id_perfil, tb_usuario.sit_troca_senha, tb_usuario.sit_ativo, ");
                sb.Append("   tb_usuario.dt_expira_senha, tb_usuario.dt_cadastro, tb_usuario.dt_atualizacao, tb_usuario_perfil.desc_usuario_perfil ");
                sb.Append("  FROM         tb_usuario INNER JOIN ");
                sb.Append("      tb_usuario_perfil ON tb_usuario.id_perfil = tb_usuario_perfil.id ");
				if (Where != string.Empty)
				{
					sb.Append(string.Format(" WHERE {0}", Where));
				}
				sb.Append(" ) query  ");
				sb.Append(string.Format(" WHERE RowNumber BETWEEN {0} + 1 and {1}; ",PageIndex,PageSize));

            	sb.Append("SELECT count(*) FROM tb_usuario");
				if (Where != string.Empty)
				{
					sb.Append(string.Format(" WHERE {0}", Where));
				}
				ds = db.ExecuteQuery(sb.ToString());
				
				if (!db.DataSetIsEmpty(ds))
            	{
                publico.PUB_PAGINACAO.CalcularTotalDePaginas(Convert.ToDecimal(ds.Tables[1].Rows[0][0].ToString()));
            	}

				
            	return ds;
								
		}
				
								
		public DataSet Selecionar(String Where, String OrderBy)
        {
            DAO_DATABASE db = new DAO_DATABASE();
            DataSet ds = new DataSet();
            StringBuilder sb = new StringBuilder();

            sb.Append("Select  ");
            sb.Append("   tb_usuario.id, tb_usuario.login, tb_usuario.senha, tb_usuario.email, tb_usuario.id_perfil, tb_usuario.sit_troca_senha, tb_usuario.sit_ativo, ");
            sb.Append("   tb_usuario.dt_expira_senha, tb_usuario.dt_cadastro, tb_usuario.dt_atualizacao, tb_usuario_perfil.desc_usuario_perfil ");
            sb.Append("  FROM         tb_usuario INNER JOIN ");
            sb.Append("      tb_usuario_perfil ON tb_usuario.id_perfil = tb_usuario_perfil.id ");
            if (Where != string.Empty)
            {
                db.CreateParameter("@Where", SqlDbType.VarChar, Where);
                sb.Append(string.Format(" Where  {0}",Where));
            }

            if (OrderBy != string.Empty)
            {
                db.CreateParameter("@OrderBy", SqlDbType.VarChar, OrderBy);
                sb.Append(string.Format(" Order By {0}", OrderBy));
            }

            ds = db.ExecuteQuery(sb.ToString());
            return ds;
        }		
		
		public DataSet Selecionar()
        {
            DAO_DATABASE db = new DAO_DATABASE();
            DataSet ds = new DataSet();
            StringBuilder sb = new StringBuilder();
            sb.Append("Select  ");
            sb.Append("   tb_usuario.id, tb_usuario.login, tb_usuario.senha, tb_usuario.email, tb_usuario.id_perfil, tb_usuario.sit_troca_senha, tb_usuario.sit_ativo, ");
            sb.Append("   tb_usuario.dt_expira_senha, tb_usuario.dt_cadastro, tb_usuario.dt_atualizacao, tb_usuario_perfil.desc_usuario_perfil ");
            sb.Append("  FROM         tb_usuario INNER JOIN ");
            sb.Append("      tb_usuario_perfil ON tb_usuario.id_perfil = tb_usuario_perfil.id ");
            sb.Append(" Order By tb_usuario.id");            
            ds = db.ExecuteQuery(sb.ToString());
            return ds;
        }		
		
		
		public DataSet ListaCampos()
        {

            DAO_DATABASE db = new DAO_DATABASE();
            DataSet ds = new DataSet();
            StringBuilder sb = new StringBuilder();
            sb.Append("SELECT TABLE_NAME, ORDINAL_POSITION, ");
            sb.Append(" COLUMN_NAME, DATA_TYPE, IS_NULLABLE ");
            sb.Append(" FROM INFORMATION_SCHEMA.COLUMNS");
            sb.Append(" WHERE TABLE_NAME = 'tb_usuario'");
            ds = db.ExecuteQuery(sb.ToString());

            return ds;

        }

		public DataSet DropdownList()
        {
            DAO_DATABASE db = new DAO_DATABASE();
            DataSet ds = new DataSet();
            StringBuilder sb = new StringBuilder();
			sb.Append("SELECT ");
			sb.Append(" id ");
				sb.Append(", login ");  				
				sb.Append(", senha ");  				
				sb.Append(", email ");  				
			sb.Append(" FROM tb_usuario ");           
			sb.Append(" ORDER BY login ");
            ds = db.ExecuteQuery(sb.ToString());

            // ds = db.ExecuteProcedure("USP_TB_USUARIO_DROPDOWNLIST");  
            return ds;
        }

        public DataSet DropdownList(String Where)
        {
            DAO_DATABASE db = new DAO_DATABASE();
            DataSet ds = new DataSet();
            StringBuilder sb = new StringBuilder();
            db.CreateParameter("@Where", SqlDbType.VarChar, Where);
			sb.Append("SELECT ");
			sb.Append(" id ");
			
			
			sb.Append(", login ");  				
			
			
			sb.Append(", senha ");  				
			
			
			sb.Append(", email ");  				
			sb.Append(" FROM tb_usuario ");
			sb.Append(string.Format(" WHERE {0} ",Where));
			sb.Append(" ORDER BY login ");
            ds = db.ExecuteQuery(sb.ToString());

            // ds = db.ExecuteProcedure("USP_TB_USUARIO_DROPDOWNLIST");
            return ds;
        }
		
		  public DataSet DropdownList(String Where, String OrderBy)
        {
            DAO_DATABASE db = new DAO_DATABASE();
            DataSet ds = new DataSet();
            StringBuilder sb = new StringBuilder();
            db.CreateParameter("@Where", SqlDbType.VarChar, Where);
			sb.Append("SELECT ");
			sb.Append(" id ");
			sb.Append(", login ");  				
			sb.Append(", senha ");  				
			sb.Append(", email ");  				
			sb.Append(" FROM tb_usuario ");
			sb.Append(string.Format(" WHERE {0} ORDER BY {1}",Where,OrderBy));			
            ds = db.ExecuteQuery(sb.ToString());

            // ds = db.ExecuteProcedure("USP_TB_USUARIO_DROPDOWNLIST");
            return ds;
        }


        public bool TrocaSenha(String login)
          {
              DAO_DATABASE db = new DAO_DATABASE();
              DataSet ds = new DataSet();
              StringBuilder sb = new StringBuilder();
              bool troca_senha = false;
              sb.Append("SELECT sit_troca_senha from tb_usuario WHERE login=@login");
              db.CreateParameter("@login", SqlDbType.VarChar, login);
              ds = db.ExecuteQuery(sb.ToString());
              if (!db.DataSetIsEmpty(ds))
              {
                  troca_senha = Convert.ToBoolean(ds.Tables[0].Rows[0][0].ToString());                  
              }

              return troca_senha;

          }


          public bool ExisteLogin(String login)
          {
              DAO_DATABASE db = new DAO_DATABASE();
              DataSet ds = new DataSet();
              StringBuilder sb = new StringBuilder();
              sb.Append("SELECT * from tb_usuario WHERE login=@login");
              db.CreateParameter("@login", SqlDbType.VarChar, login);
              ds = db.ExecuteQuery(sb.ToString());
              if (!db.DataSetIsEmpty(ds))
              {
                  return true;
              }
              else
              {
                  return false;
              }
          }

          public bool ValidaLoginEmail(String login, String email)
          {
              DAO_DATABASE db = new DAO_DATABASE();
              DataSet ds = new DataSet();
              StringBuilder sb = new StringBuilder();

              sb.Append("UPDATE tb_usuario SET sit_ativo = '1' where login=@login");
              db.CreateParameter("@login", SqlDbType.VarChar, login);
              db.CreateParameter("@email", SqlDbType.VarChar, email);
              ds = db.ExecuteQuery(sb.ToString());
              if (!db.DataSetIsEmpty(ds))
              {
                  return true;
              }
              else
              {
                  return false;
              }
          }

          public void RecuperarSenha(String login, String email, String senha)
          {
              DAO_DATABASE db = new DAO_DATABASE();
              DataSet ds = new DataSet();
              StringBuilder sb = new StringBuilder();
              sb.Append("SELECT *  from  tb_usuario where senha=@senha and login=@login and email=@email");
              db.CreateParameter("@login", SqlDbType.VarChar, login);
              db.CreateParameter("@email", SqlDbType.VarChar, email);
              db.CreateParameter("@senha", SqlDbType.VarChar, senha);
              ds = db.ExecuteQuery(sb.ToString());

          }



          public bool ValidaLogin(String login, String senha)
          {
              DAO_DATABASE db = new DAO_DATABASE();
              DataSet ds = new DataSet();
              StringBuilder sb = new StringBuilder();

              sb.Append("SELECT * from tb_usuario where sit_ativo = '1' and login=@login and senha=@senha");
              db.CreateParameter("@login", SqlDbType.VarChar, login);
              db.CreateParameter("@senha", SqlDbType.VarChar, senha);
              ds = db.ExecuteQuery(sb.ToString());
              if (!db.DataSetIsEmpty(ds))
              {
                  return true;
              }
              else
              {
                  return false;
              }


          }

          public bool CriarSessao(String login, String senha, String id_session)
          {
              DAO_DATABASE db = new DAO_DATABASE();
              DataSet ds = new DataSet();
              DataTable dt = new DataTable();
              StringBuilder sb = new StringBuilder();
              List<string> lista = new List<string>();

              sb.Append("SELECT tb_usuario.id, tb_usuario.login, tb_usuario.senha, tb_usuario.email, tb_usuario.id_perfil, tb_usuario.sit_ativo, tb_usuario_empresa.id_empresa");
              sb.Append(" FROM tb_usuario left join tb_usuario_empresa on tb_usuario.id = tb_usuario_empresa.id_usuario ");
              sb.Append(" WHERE ");
              sb.Append(" tb_usuario.login=@login and tb_usuario.senha = @senha and tb_usuario_empresa.sit_padrao = 'true'");
              db.CreateParameter("@login", SqlDbType.VarChar, login);
              db.CreateParameter("@senha", SqlDbType.VarChar, senha);

              ds = db.ExecuteQuery(sb.ToString());
              if (!db.DataSetIsEmpty(ds))
              {
                  dt = ds.Tables[0];

                  foreach (DataRow dr in dt.Rows)
                  {

                      PUB_SESSAO.Id_session = id_session;

                      if(dr["id"].ToString() != string.Empty)
                      PUB_SESSAO.Id = Convert.ToInt32(dr["id"].ToString());
                      if(dr["login"].ToString()!=string.Empty)
                      PUB_SESSAO.Login = dr["login"].ToString();       
                      if(dr["email"].ToString()!=string.Empty)
                      PUB_SESSAO.Email = dr["email"].ToString();
                      if(dr["id_perfil"].ToString()!=string.Empty)
                      PUB_SESSAO.Id_perfil = Convert.ToInt32(dr["id_perfil"].ToString());
                      if(dr["sit_ativo"].ToString() !=string.Empty)
                      PUB_SESSAO.Sit_ativo = Convert.ToBoolean(dr["sit_ativo"].ToString());
                      if(dr["id_empresa"].ToString()!=string.Empty)
                      PUB_SESSAO.Id_empresa = Convert.ToInt32(dr["id_empresa"].ToString());
                      PUB_SESSAO.Autenticado = true;

                  }

                  return true;
              }
              else
              {
                  return false;
              }


          }

          public void DesativarLogin(String login)
          {
              DAO_DATABASE db = new DAO_DATABASE();
              DataSet ds = new DataSet();
              StringBuilder sb = new StringBuilder();

              sb.Append("UPDATE tb_usuario SET sit_ativo = '0' WHERE login=@login ");          
              db.CreateParameter("@login", SqlDbType.VarChar, login);
              db.ExecuteQueryUpdate(sb.ToString());

          }

          public void AtivarLogin(String login)
          {
              DAO_DATABASE db = new DAO_DATABASE();
              DataSet ds = new DataSet();
              StringBuilder sb = new StringBuilder();
              sb.Append("UPDATE tb_usuario SET sit_ativo = '1' WHERE login=@login ");
              db.CreateParameter("@login", SqlDbType.VarChar, login);
              db.ExecuteQueryUpdate(sb.ToString());

          }


          public DataTable CriarDataTable()
          {
              DataTable table = new DataTable();
              table.Columns.Add("ID", typeof(int));
              table.Columns.Add("LOGIN", typeof(string));
              table.Columns.Add("EMAIL", typeof(string));
              table.Columns.Add("PERFIL", typeof(string));
              table.Columns.Add("SIT_ATIVO", typeof(bool));
              table.Columns.Add("DT_CADASTRO", typeof(DateTime));


              return table;
          }

          public DataTable PreencheDataTable(DataTable dt, OBJ_TB_USUARIO obj)
          {
              DataRow dr = dt.NewRow();
              dr["ID"] = obj.id.ToString();
              dr["LOGIN"] = obj.login.ToString();
              dr["EMAIL"] = obj.email.ToString();              
              dr["PERFIL"] = obj.Tb_usuario_perfil.desc_usuario_perfil.ToString();
              dr["SIT_ATIVO"] = obj.sit_ativo;
              dr["DT_CADASTRO"] = obj.dt_cadastro.ToString();

              dt.Rows.Add(dr);
              return dt;

          }

	}
	#endregion
}

